home *** CD-ROM | disk | FTP | other *** search
Wrap
'************************************************************************** '* MSSetup Toolkit Sample 1 '************************************************************************** '$DEFINE DEBUG ''Define for script development/debugging '$INCLUDE 'setupapi.inc' '$INCLUDE 'msdetect.inc' '$INCLUDE 'msregdb.inc' ''Dialog ID's CONST WELCOME = 100 CONST ASKQUIT = 200 CONST DESTPATH = 300 CONST EXITFAILURE = 400 CONST EXITQUIT = 600 CONST EXITSUCCESS = 700 CONST OPTIONS = 800 CONST APPHELP = 900 CONST BADPATH = 6400 ''Bitmap ID CONST LOGO = 1 GLOBAL DEST$ ''Default destination directory. GLOBAL OPTCUR$ ''Option selection from option dialog. DECLARE SUB Install DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING ' Maximize Code CONST SW_SHOWMAXIMIZED=3 DECLARE FUNCTION ShowWindow LIB "user.exe" (hWnd%,iShow%) AS INTEGER ' Remove the Title Bar Code CONST WS_VISIBLE=&H10000000 CONST WS_BORDER =&H00800000 CONST WS_CLIPCHILDREN = &H02000000 CONST GWL_STYLE =-16 DECLARE FUNCTION SetWindowLong LIB "user.exe" (hWnd%, offset%, style&) AS LONG DECLARE FUNCTION SetWindowPos LIB "user.exe" (hWnd%, hWndAfter%, x%, y%, cx%, cy%, Flags%) AS INTEGER DECLARE FUNCTION WinExec LIB "krnl386.exe" (CmdLine$, CmdShow%) AS INTEGER INIT: hWnd%=HwndFrame() junk%=ShowWindow(hWnd%,SW_SHOWMAXIMIZED) i1&=SetWindowLong(hWnd%,GWL_STYLE,WS_VISIBLE+WS_BORDER+WS_CLIPCHILDREN) i2%=ShowWindow(hWnd%,SW_SHOWMAXIMIZED) CUIDLL$ = "mscuistf.dll" ''Custom user interface dll HELPPROC$ = "FHelpDlgProc" ''Help dialog procedure SetBitmap CUIDLL$, LOGO SetTitle "HTI TrueMotion-S Playback Setup" szInf$ = GetSymbolValue("STF_SRCINFPATH") IF szInf$ = "" THEN szInf$ = GetSymbolValue("STF_CWDDIR") + "truemod.INF" END IF ReadInfFile szInf$ OPTCUR$ = "1" DEST$ = GetWindowsDir i% = SetSizeCheckMode(scmOnIgnore) '' could use scmOff; def = scmOnFatal WinDrive$ = MID$(GetWindowsDir, 1, 1) IF IsDriveValid(WinDrive$) = 0 THEN i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK) GOTO QUIT END IF WELCOME: sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$) IF sz$ = "CONTINUE" THEN UIPop 1 '**************************************************************************************** '********************* Check For NT ***************************************************** '**************************************************************************************** OSIS% = IsOSNT() IF OSIS% = 1 THEN o% = DoMsgBox("You can not install the Windows 3.1 version of the TrueMotion-S Decompressor on Windows NT.", "HTI TrueMotion-S Playback Setup",MB_TASKMODAL+MB_OK+MB_ICONEXCLAMATION) RETURN END IF '**************************************************************************************** '********************* Check For WIN32 Versions of the Code****************************** '**************************************************************************************** '// Check for the WIN32 Decompressor SrcDir$ = GetSymbolValue("STF_SRCDIR") IF DoesFileExist(DEST$+"system\truew32d.dll", femExists) = 1 THEN IF DoesFileExist(DEST$+"system\truew32c.dll", femExists) = 1 THEN CANDD% = DoMsgBox("WIN32 versions of the TrueMotion-S Compressor and Decompressor exist. Do you wish to continue and remove them?", "HTI TrueMotion-S Playback Setup",MB_TASKMODAL+MB_YESNO+MB_ICONQUESTION) IF CANDD% = IDYES THEN RemoveFile DEST$+"system\truemo32.drv", cmoForce RemoveFile DEST$+"system\truew32d.dll", cmoForce RemoveFile DEST$+"system\truew32c.dll", cmoForce RemoveFile DEST$+"system\imagew32.dll", cmoForce RemoveFile "c:\tmot\tmot.dat", cmoForce T1%=RemoveTheDir("c:\tmot") RemoveIniKey DEST$+"system.ini", "drivers32", "vidc.tmot", cmoVital T%=WinExec(SrcDir$+"\drivers\DelRegKy.EXE SOFTWARE\HTI\TrueMotion-S", SW_SHOWMAXIMIZED) T%=WinExec(SrcDir$+"\drivers\DelRegKy.EXE System\CurrentControlSet\Control\MediaResources\icm\vidc.tmot", SW_SHOWMAXIMIZED) ELSE GOSUB ASKQUIT GOTO WELCOME END IF ELSE CANDD% = DoMsgBox("A WIN32 version of the TrueMotion-S Decompressor exists. Do you wish to continue and remove it?", "HTI TrueMotion-S Playback Setup",MB_TASKMODAL+MB_YESNO+MB_ICONQUESTION) IF CANDD% = IDYES THEN RemoveFile DEST$+"system\truemo32.drv", cmoForce RemoveFile DEST$+"system\truew32d.dll", cmoForce RemoveIniKey DEST$+"system.ini", "drivers32", "vidc.tmot", cmoVital T%=WinExec(SrcDir$+"\drivers\DelRegKy.EXE SOFTWARE\HTI\TrueMotion-S", SW_SHOWMAXIMIZED) T%=WinExec(SrcDir$+"\drivers\DelRegKy.EXE System\CurrentControlSet\Control\MediaResources\icm\vidc.tmot", SW_SHOWMAXIMIZED) ELSE GOSUB ASKQUIT GOTO WELCOME END IF END IF ELSE IF DoesFileExist(DEST$+"system\truew32c.dll", femExists) = 1 THEN CANDD% = DoMsgBox("A WIN32 version of the TrueMotion-S Compressor exists. Do you wish to continue and remove it?", "HTI TrueMotion-S Playback Setup",MB_TASKMODAL+MB_YESNO+MB_ICONQUESTION) IF CANDD% = IDYES THEN RemoveFile DEST$+"system\truemo32.drv", cmoForce RemoveFile DEST$+"system\truew32c.dll", cmoForce RemoveFile DEST$+"system\imagew32.dll", cmoForce RemoveFile "c:\tmot\tmot.dat", cmoForce T2%=RemoveTheDir("c:\tmot") RemoveIniKey DEST$+"system.ini", "drivers32", "vidc.tmot", cmoVital T%=WinExec(SrcDir$+"\drivers\DelRegKy.EXE SOFTWARE\HTI\TrueMotion-S", SW_SHOWMAXIMIZED) T%=WinExec(SrcDir$+"\drivers\DelRegKy.EXE System\CurrentControlSet\Control\MediaResources\icm\vidc.tmot", SW_SHOWMAXIMIZED) ELSE GOSUB ASKQUIT GOTO WELCOME END IF END IF END IF ELSE GOSUB ASKQUIT GOTO WELCOME END IF GETPATH: SetSymbolValue "EditTextIn", DEST$ SetSymbolValue "EditFocus", "END" GETPATHL1: ' sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$) ' DEST$ = GetSymbolValue("EditTextOut") sz$ = "CONTINUE" IF sz$ = "CONTINUE" THEN IF IsDirWritable(DEST$) = 0 THEN GOSUB BADPATH GOTO GETPATHL1 END IF UIPop 1 ELSEIF sz$ = "REACTIVATE" THEN GOTO GETPATHL1 ELSEIF sz$ = "BACK" THEN UIPop 1 GOTO GETPATH ELSE GOSUB ASKQUIT GOTO GETPATH END IF Install QUIT: ON ERROR GOTO ERRQUIT IF ERR = 0 THEN dlg% = EXITSUCCESS ELSEIF ERR = STFQUIT THEN dlg% = EXITQUIT ELSE dlg% = EXITFAILURE END IF QUITL1: sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "") IF sz$ = "REACTIVATE" THEN GOTO QUITL1 END IF UIPop 1 END ERRQUIT: i% = DoMsgBox("Setup sources were corrupted, call 555-1212!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND) END BADPATH: sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "") IF sz$ = "REACTIVATE" THEN GOTO BADPATH END IF UIPop 1 RETURN ASKQUIT: sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "") IF sz$ = "EXIT" THEN UIPopAll ERROR STFQUIT ELSEIF sz$ = "REACTIVATE" THEN GOTO ASKQUIT ELSE UIPop 1 END IF RETURN '** '** Purpose: '** Builds the copy list and performs all installation operations. '** Arguments: '** none. '** Returns: '** none. '************************************************************************* SUB Install STATIC DCI% = DoMsgBox("Does Your System Support DCI Video Hardware Acceleration?", "HTI TrueMotion-S Setup",MB_TASKMODAL+MB_YESNO+MB_ICONQUESTION) IF DCI% = IDYES THEN CreateIniKeyValue "WIN.INI", "TrueMotion", "videohardware", "ON" , cmoOverwrite ELSE CreateIniKeyValue "WIN.INI", "TrueMotion", "videohardware", "OFF" , cmoOverwrite END IF BlackLine% = DoMsgBox("Do You Want To Display Black Lines With Zoomed Video?","HTI TrueMotion-S", MB_TASKMODAL+MB_YESNO+MB_ICONQUESTION) IF BlackLine% = IDYES THEN CreateIniKeyValue "WIN.INI", "TrueMotion", "blackline", "ON" , cmoOverwrite ELSE CreateIniKeyValue "WIN.INI", "TrueMotion", "blackline", "OFF" , cmoOverwrite END IF CreateDir DEST$, cmoNone SrcDir$ = GetSymbolValue("STF_SRCDIR") NewSrcDir$ = SrcDir$ + "drivers\" AddSectionFilesToCopyList "Files", NewSrcDir$, DEST$ CopyFilesInCopyList SystemINI$ = DEST$ + "SYSTEM.INI" CreateIniKeyValue SystemINI$, "drivers", "vidc.tmot", "truemo.drv" , cmoOverwrite RetVal% = FFindINIKeyAndVal(SystemINI$ , "386Enh", "device=dva.386") IF RetVal% = 0 THEN CreateSysIniKeyValue SystemINI$, "386Enh", "device", "dva.386" , cmoOverwrite END IF END SUB '** '** Purpose: '** Appends a file name to the end of a directory path, '** inserting a backslash character as needed. '** Arguments: '** szDir$ - full directory path (with optional ending "\") '** szFile$ - filename to append to directory '** Returns: '** Resulting fully qualified path name. '************************************************************************* FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING IF szDir$ = "" THEN MakePath = szFile$ ELSEIF szFile$ = "" THEN MakePath = szDir$ ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN MakePath = szDir$ + szFile$ ELSE MakePath = szDir$ + "\" + szFile$ END IF END FUNCTION